home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / cp-firewall-webauth.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  66 lines

  1. # This script was written by Yoav Goldberg <yoavg@securiteam.com>
  2.  
  3. #
  4. # Body of a script
  5. #
  6. if(description)
  7. {
  8.  script_id(10676);
  9.  script_version ("$Revision: 1.9 $");
  10. script_name(english:"CheckPoint Firewall-1 Web Authentication Detection");
  11.  script_description(english:"
  12. A Firewall-1 web server is running on this port and serves web authentication
  13. requests.
  14.  
  15.  
  16. This service allows remote attackers to gather usernames and passwords 
  17. through a brute force attack.
  18.  
  19. Older versions of the Firewall-1 product allowed verifying usernames 
  20. prior to checking their passwords, allowing attackers to easily
  21. bruteforce a valid list of usernames.
  22.  
  23. Solution : if you do not use this service, disable it
  24. Risk factor : Low");
  25.  script_summary(english:"The remote CheckPoint Firewall-1 can be authenticated with via a web interface");
  26.  script_category(ACT_GATHER_INFO);
  27.  script_family(english:"Firewalls");
  28.  script_copyright(english:"This script is Copyright (C) 2001 SecuriTeam");
  29.  
  30.  script_dependencies("find_service.nes", "httpver.nasl");
  31.  script_require_ports("Services/www", 900);
  32.  exit(0);
  33. }
  34.  
  35. #
  36. # Actual script starts here
  37. #
  38. include("http_func.inc");
  39. include("misc_func.inc");
  40.  
  41. quote = raw_string(0x22);
  42.  
  43. strcheck1 = string("Authentication Form");
  44. strcheck2 = string("Client Authentication Remote");
  45. strcheck3 = string("FireWall-1 message");
  46.  
  47.  
  48. ports = add_port_in_list(list:get_kb_list("Services/www"), port:900);
  49.  
  50.  
  51. foreach port (ports)
  52. {
  53.  soc = http_open_socket(port);
  54.  if(soc)
  55.  {
  56.   buf = http_get(item:"/", port:port);
  57.   send(socket:soc, data:buf);
  58.   re = http_recv(socket:soc);
  59.   http_close_socket(soc);
  60.   if((strcheck3 >< re) && (strcheck2 >< re) && (strcheck1 >< re))
  61.     {
  62.     security_warning(port);
  63.     }
  64.  }
  65. }
  66.